home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 2001 October / macformat-108.iso / Resources / Netscape 6 Full Installer / Installer Modules / deflenus.xpi / install.js
Encoding:
JavaScript  |  2001-07-27  |  3.0 KB  |  133 lines

  1. // this function verifies disk space in kilobytes
  2. function verifyDiskSpace(dirPath, spaceRequired)
  3. {
  4.   var spaceAvailable;
  5.  
  6.   // Get the available disk space on the given path
  7.   spaceAvailable = fileGetDiskSpaceAvailable(dirPath);
  8.  
  9.   // Convert the available disk space into kilobytes
  10.   spaceAvailable = parseInt(spaceAvailable / 1024);
  11.  
  12.   // do the verification
  13.   if(spaceAvailable < spaceRequired)
  14.   {
  15.     logComment("Insufficient disk space: " + dirPath);
  16.     logComment("  required : " + spaceRequired + " K");
  17.     logComment("  available: " + spaceAvailable + " K");
  18.     return(false);
  19.   }
  20.  
  21.   return(true);
  22. }
  23.  
  24. // this function deletes a file if it exists
  25. function deleteThisFile(dirKey, file)
  26. {
  27.   var fFileToDelete;
  28.  
  29.   fFileToDelete = getFolder(dirKey, file);
  30.   logComment(file + " file: " + fFileToDelete);
  31.   if(File.exists(fFileToDelete))
  32.   {
  33.     fileDelete(fFileToDelete);
  34.     return(true);
  35.   }
  36.   else
  37.     return(false);
  38. }
  39.  
  40. // this function deletes a folder (recursively) if it exists
  41. function deleteThisFolder(dirKey, folder)
  42. {
  43.   var fToDelete;
  44.  
  45.   fToDelete = getFolder(dirKey, folder);
  46.   logComment(folder + " folder: " + fToDelete);
  47.   if(File.exists(fToDelete))
  48.   {
  49.     File.dirRemove(fToDelete, true);
  50.     return(true);
  51.   }
  52.   else
  53.     return(false);
  54. }
  55.  
  56. // OS type detection
  57. // which platform?
  58. function getPlatform()
  59. {
  60.   var platformStr;
  61.   var platformNode;
  62.  
  63.   if('platform' in Install)
  64.   {
  65.     platformStr = new String(Install.platform);
  66.  
  67.     if (!platformStr.search(/^Macintosh/))
  68.       platformNode = 'mac';
  69.     else if (!platformStr.search(/^Win/))
  70.       platformNode = 'win';
  71.     else
  72.       platformNode = 'unix';
  73.   }
  74.   else
  75.   {
  76.     var fOSMac  = getFolder("Mac System");
  77.     var fOSWin  = getFolder("Win System");
  78.  
  79.     logComment("fOSMac: "  + fOSMac);
  80.     logComment("fOSWin: "  + fOSWin);
  81.  
  82.     if(fOSMac != null)
  83.       platformNode = 'mac';
  84.     else if(fOSWin != null)
  85.       platformNode = 'win';
  86.     else
  87.       platformNode = 'unix';
  88.   }
  89.  
  90.   return platformNode;
  91. }
  92.  
  93.  
  94. var srDest = 50;
  95.  
  96. var err;
  97. var fProgram;
  98.  
  99. // ----LOCALIZATION NOTE: translate only these ------
  100. var prettyName = "US English Language Pack";
  101. var regName    = "defaults/netscape/en-US";
  102. // --- END CHANGABLE STUFF ---
  103.  
  104. err    = initInstall(prettyName, regName, "6.10.0.2001072621"); 
  105. logComment("initInstall: " + err);
  106.  
  107. fProgram = getFolder("Program");
  108. logComment("fProgram: " + fProgram);
  109.  
  110. if (verifyDiskSpace(fProgram, srDest))
  111. {
  112.     err = addDirectory("",
  113.                    "6.10.0.2001072621",
  114.                    "viewer",
  115.                    fProgram,
  116.                    "",
  117.                    true);
  118.     logComment("addDirectory() returned: " + err);
  119.  
  120.     if (err == SUCCESS)
  121.     {
  122.         err = performInstall(); 
  123.         logComment("performInstall() returned: " + err);
  124.     }
  125.     else
  126.     {
  127.         cancelInstall(err);
  128.         logComment("cancelInstall due to error: " + err);
  129.     }
  130. }
  131. else
  132.     cancelInstall(INSUFFICIENT_DISK_SPACE);
  133.